package org.jeecg.modules.mobile.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: 移动端我的任务VO
 * @Author: jeecg-boot
 * @Date:   2023-08-28
 * @Version: V1.0
 */
@Data
public class MobileMyTaskVO implements Serializable {
    private static final long serialVersionUID = 1L;

	/**id*/
    @ApiModelProperty(value = "id")
    private String id;
	/**类型*/
    @ApiModelProperty(value = "类型,1: 入库任务, 2: 出库任务")
    private String type;
    /**任务类型*/
    @ApiModelProperty(value = "任务类型")
    private String documentType;
    /**
     * 单据类型值
     */
    private String documentTypeValue;
    /**任务日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "任务日期")
    private Date taskDate;
    /**盘点日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "盘点日期")
    private Date executeDate;
    /**移库日期*/
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "移库日期")
    private Date businessDate;
    /**编号*/
    @ApiModelProperty(value = "编号")
    private String documentCode;
    /**客商*/
    @ApiModelProperty(value = "客商")
    private String customerSupplier;
    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remark;
    /**状态*/
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 来源系统单号
     */
    private String originalSystemNumber;
    /**
     * 来源系统
     */
    @ApiModelProperty(value = "来源系统")
    private String originalSystem;
    /**
     * 生产工单号
     */
    private String productNumber;
    /**
     * 产线名称
     */
    @ApiModelProperty(value="产线名称")
    private String productLine;

    private String documentStatus;

    private String documentStatusValue;

    private String warehouseStatus;

    private String outboundStatus;

    /**盘点类型*/
    @ApiModelProperty(value = "盘点类型")
    @Dict(dicCode = "take_stock_type")
    private String takeStockType;

    /**盘点任务名称*/
    @ApiModelProperty(value = "盘点任务名称")
    private String takeStockName;

    /**盘点范围类型*/
    @ApiModelProperty(value = "盘点范围类型")
    private String rangeType;

    /**盘点类型名称*/
    @ApiModelProperty(value = "盘点类型名称")
    @Dict(dicCode = "take_stock_type")
    private String takeStockType_dictText;

    /**盘点范围类型名称*/
    @ApiModelProperty(value = "盘点范围类型名称")
    private String rangeType_dictText;

    /**是否是复盘, 0 不是复盘, 1 是复盘*/
    @ApiModelProperty(value = "是否是复盘, 0 不是复盘, 1 是复盘")
    private String replayFlag;

    /**仓管员*/
    @ApiModelProperty(value = "仓管员")
    private String warehouseKeeper;

    /**车牌号*/
    @ApiModelProperty(value = "车牌号")
    private String carNumber;

    /**仓库*/
    @ApiModelProperty(value = "仓库")
    private String warehouse;

    @ApiModelProperty(value = "车牌号集合")
    private String carNumberStr;

    @ApiModelProperty(value = "仓库代码集合")
    private String warehouseCodeStr;

    @ApiModelProperty(value = "客户代码")
    private String customerCode;

    @ApiModelProperty(value = "供应商代码")
    private String supplierCode;

    @ApiModelProperty(value = "出库订单号")
    private String outboundOrderCode;

    /**调拨入库任务单号*/
    @ApiModelProperty(value = "调拨入库任务单号")
    private String deliveryInTaskCode;

    /**调拨出库任务单号*/
    @ApiModelProperty(value = "调拨出库任务单号")
    private String deliveryOutTaskCode;

    /**
     * 备料/退料站点
     */
    @ApiModelProperty(value="备料/退料站点")
    private String materialSite;
}
